package com.example.demo.java8.functionalinterface.day240426;

import java.util.function.Predicate;

/**
 * Java 8 在 java.util.function 包下预定了大量的函数式接口供我们使用，常用如下：
 *
 * Predicate 接口
 *
 * boolean test(T t)	对给定的参数进行判断（判断逻辑由 Lambda 表达式实现)，返回一个布尔值
 * default Predicate negate()	返回一个逻辑的否定，对应逻辑非（ ! ）
 * default Predicate and (Predicate other)	返回一个组合判断，对应短路与（&&）
 * default Predicate or (Predicate other)	返回一个组合判断，对应短路或（||）
 *
 *
 * @author luo
 * @since 2024/4/27 0:03
 */
public class PredicateTest02 {


    public static void main(String[] args) {
        Predicate<String> predicate =  str -> str.length() > 10;
        predicate.test("abcd");

        Predicate<String> predicate1 =  str -> str.length() > 10;

        Predicate<String> predicate2 =  str -> str.contains("a");

        Boolean b = predicate1.and(predicate2).test("abdcdddddddddd");
        System.out.println(b);

    }
}
